<!-- 子表格 -->

<template>
  <WebTable ref="table" path="sub">
    <RowCheckbox />

    <RowIndex />

    <RowText label="角色名称" bind="roleName" />

    <RowStatus label="角色类型" bind="roleType" :dict="sub_DICT.ROLE_TYPE" :colorIndex="2" />

    <RowText label="描述" bind="remark" />

    <RowTime label="创建时间" bind="createTime" sort />
  </WebTable>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'SubTable',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb(), CORE.mixWeb('sub', 'sub_')],

  /**
   * 监听属性 (深度 deep 首次 immediate)
   */
  watch: {
    /**
     * 监听子模块弹窗
     */
    sub_visible: {
      immediate: true,
      handler() {
        const table = this.$refs.table ? this.$refs.table.$children[0] : null
        if (!table) return

        table.clearSelection()
        this.one.rolesIdList.forEach((id) => {
          const row = table.data.find((item) => item.id === id)
          row && table.toggleRowSelection(row, true)
        })
      },
    },
  },
}
</script>
